In the usual workflow for the development of a nonvolatile memory (NVM) device such as a flash device, error correcting codes (ECCs) are designed after fixing key parameters of the NVM device (e.g., size of technology node, number of bits per cell, etc.). At most, some rough estimate of ECC impact on latency times and logic area are performed.